//
//  ContentView.swift
//  SwiftUIShape
//
//  Created by 李煜 on 2024/7/31.
//

import SwiftUI
//绘制分为:线条和填充图形
//使用贝瑟尔曲线 or CoreGraphics
struct ContentView: View {
    var body: some View {
      //填充图形:不需要闭合起点和终点,系统在你使用.fill时帮你闭合并填充图形
      
      Path({ path in
        path.move(to: CGPoint(x: 20, y: 20))
        path.addLine(to: CGPoint(x: 300, y: 20))
        path.addLine(to: CGPoint(x: 300, y: 200))
        path.addLine(to: CGPoint(x: 20, y: 200))
        
      })
      .fill(.purple)//使用.fill方法填充
      
      //线条: 看你需不需要闭合,使用path.closeSubpath() 则系统会连接起点和终点
      Path({ path in
        path.move(to: CGPoint(x: 20, y: 20))
        path.addLine(to: CGPoint(x: 300, y: 20))
        path.addLine(to: CGPoint(x: 300, y: 200))
        path.addLine(to: CGPoint(x: 20, y: 200))
        
        path.closeSubpath()
      })
      //系统默认对路径采用填充形式,默认颜色黑色(所以绘制线条必须加上.stroke修饰器,填充的话可以不加修饰器)
      .stroke(.purple, lineWidth: 10)//使用.storke绘制线条
    }
}

#Preview {
    ContentView()
}
